package net.zoneland.knowledge.controller.bean;

import net.zoneland.knowledge.model.LoginUserPojo;

import java.util.StringJoiner;

/**
 * 查询参数对象.
 * @author zmq
 * @Date 2022/7/29 15:38
 */
public class UomUserOrgQueryVo {
    /**
     * 用户姓名.
     */
    private String userName;

    /**
     * 用于员工编号匹配.
     */
    private String queryTextForYgId;

    /**
     * 用于员工编号匹配.
     */
    private String queryTextForMobile;

    /**
     * 部门名称.
     */
    private String orgName;

    /**
     * 员工编号.
     */
    private String ygId;

    /**
     * 手机号.
     */
    private String mobile;

    /**
     * 组织uuid.
     */
    private String orgUuid;

    /**
     * oa账号.
     */
    private String oaId;

    /**
     * 数量.
     */
    private int size;

    /**
     * 页码.
     */
    private int page;

    /**
     * 忽略隐藏信息.
     * 目的：通用查询党员信息时默认需要隐藏领导相关属性信息
     * 当领导本人登录时，不需要隐藏属性.
     */
    private boolean ignoreHiddenInfo;

    /**
     * 上级党组织uuid.
     */
    private String parentOrgUuid;

    /**
     * 树的层级.
     */
    private int level;

    /**
     * 查询文本.
     */
    private String queryText;

    /**
     * 不加载更多信息.
     */
    private boolean doNotfillMore;

    /**
     * 群组ID.
     */
    private String groupId;

    /**
     * 当前登录用户
     */
    private LoginUserPojo userPojo;

    /**
     * 获取 属性值.
     * @return 属性值
     */
    public String getUserName() {
        return userName;
    }

    /**
     * 设置 属性值.
     * @param userName 属性值
     */
    public void setUserName(final String userName) {
        this.userName = userName;
    }
    /**
     * 获取 属性值.
     * @return 属性值
     */
    public String getOrgName() {
        return orgName;
    }
    /**
     * 设置 属性值.
     * @param orgName 属性值
     */
    public void setOrgName(final String orgName) {
        this.orgName = orgName;
    }
    /**
     * 获取 属性值.
     * @return 属性值
     */
    public int getSize() {
        return size;
    }
    /**
     * 设置 属性值.
     * @param size 属性值
     */
    public void setSize(final int size) {
        this.size = size;
    }

    /**
     * 获取 page.
     *
     * @return page
     */
    public int getPage() {

        return page;
    }

    /**
     * 设置 page.
     *
     * @param page page
     */
    public void setPage(final int page) {

        this.page = page;
    }

    /**
     * 获取 ygId.
     *
     * @return ygId
     */
    public String getYgId() {

        return ygId;
    }

    /**
     * 设置 ygId.
     *
     * @param ygId ygId
     */
    public void setYgId(final String ygId) {

        this.ygId = ygId;
    }

    /**
     * 获取 mobile.
     *
     * @return mobile
     */
    public String getMobile() {

        return mobile;
    }

    /**
     * 设置 mobile.
     *
     * @param mobile mobile
     */
    public void setMobile(final String mobile) {

        this.mobile = mobile;
    }

    /**
     * 获取 orgUuid.
     *
     * @return orgUuid
     */
    public String getOrgUuid() {

        return orgUuid;
    }

    /**
     * 设置 orgUuid.
     *
     * @param orgUuid orgUuid
     */
    public void setOrgUuid(final String orgUuid) {

        this.orgUuid = orgUuid;
    }

    /**
     * 获取 oaId.
     *
     * @return oaId
     */
    public String getOaId() {

        return oaId;
    }

    /**
     * 设置 oaId.
     *
     * @param oaId oaId
     */
    public void setOaId(final String oaId) {

        this.oaId = oaId;
    }


    /**
     * 获取 queryTextForYgId.
     *
     * @return queryTextForYgId
     */
    public String getQueryTextForYgId() {

        return queryTextForYgId;
    }

    /**
     * 设置 queryTextForYgId.
     *
     * @param queryTextForYgId queryTextForYgId
     */
    public void setQueryTextForYgId(final String queryTextForYgId) {

        this.queryTextForYgId = queryTextForYgId;
    }

    /**
     * 获取 queryTextForMobile.
     *
     * @return queryTextForMobile
     */
    public String getQueryTextForMobile() {

        return queryTextForMobile;
    }

    /**
     * 设置 queryTextForMobile.
     *
     * @param queryTextForMobile queryTextForMobile
     */
    public void setQueryTextForMobile(final String queryTextForMobile) {

        this.queryTextForMobile = queryTextForMobile;
    }

    /**
     * 获取 ignoreHiddenInfo.
     *
     * @return ignoreHiddenInfo
     */
    public boolean isIgnoreHiddenInfo() {

        return ignoreHiddenInfo;
    }

    /**
     * 设置 ignoreHiddenInfo.
     *
     * @param ignoreHiddenInfo ignoreHiddenInfo
     */
    public void setIgnoreHiddenInfo(final boolean ignoreHiddenInfo) {

        this.ignoreHiddenInfo = ignoreHiddenInfo;
    }

    /**
     * 获取 parentOrgUuid.
     *
     * @return parentOrgUuid
     */
    public String getParentOrgUuid() {

        return parentOrgUuid;
    }

    /**
     * 设置 parentOrgUuid.
     *
     * @param parentOrgUuid parentOrgUuid
     */
    public void setParentOrgUuid(final String parentOrgUuid) {

        this.parentOrgUuid = parentOrgUuid;
    }
    /**
     * 获取 level.
     *
     * @return level
     */
    public int getLevel() {

        return level;
    }

    /**
     * 设置 level.
     *
     * @param level level
     */
    public void setLevel(final int level) {

        this.level = level;
    }

    public String getQueryText() {

        return queryText;
    }

    /**
     * 设置 queryText.
     *
     * @param queryText queryText
     */
    public void setQueryText(final String queryText) {

        this.queryText = queryText;
    }

    /**
     * 获取 doNotfillMore.
     *
     * @return doNotfillMore
     */
    public boolean isDoNotfillMore() {

        return doNotfillMore;
    }

    /**
     * 设置 doNotfillMore.
     *
     * @param doNotfillMore doNotfillMore
     */
    public void setDoNotfillMore(final boolean doNotfillMore) {

        this.doNotfillMore = doNotfillMore;
    }

    /**
     * 获取 groupId.
     *
     * @return groupId
     */
    public String getGroupId() {
        return groupId;
    }

    /**
     * 设置 groupId.
     *
     * @param groupId groupId
     */
    public void setGroupId(String groupId) {
        this.groupId = groupId;
    }

    @Override
    public String toString() {

        return new StringJoiner(", ", UomUserOrgQueryVo.class.getSimpleName() + "[", "]")
            .add("userName='" + userName + "'")
            .add("queryTextForYgId='" + queryTextForYgId + "'")
            .add("queryTextForMobile='" + queryTextForMobile + "'")
            .add("orgName='" + orgName + "'")
            .add("ygId='" + ygId + "'")
            .add("mobile='" + mobile + "'")
            .add("orgUuid='" + orgUuid + "'")
            .add("oaId='" + oaId + "'")
            .add("size=" + size)
            .add("page=" + page)
            .add("ignoreHiddenInfo=" + ignoreHiddenInfo)
            .add("parentOrgUuid='" + parentOrgUuid + "'")
            .add("level=" + level)
            .add("queryText='" + queryText + "'")
            .toString();
    }

    public LoginUserPojo getUserPojo() {
        return userPojo;
    }

    public void setUserPojo(LoginUserPojo userPojo) {
        this.userPojo = userPojo;
    }
}
